﻿<?xml version="1.0" encoding="utf-8" ?>
<CRIL>
	<!-- Data types -->
	<Tuples>
		<Tuple class='EtCount' isEntity='true'>
			<Field name='_CountC' type='int' cached='true'/>
		</Tuple>
		<Tuple class='EtGuest' isEntity='true'>
			<Field name='_Guest_Name' type='string' cached='true'/>
			<Field name='_Guest_Sex' type='string' cached='true'/>
			<Field name='_Guest_Hobby' type='string' cached='true'/>
		</Tuple>
		<Tuple class='EtChosen' isEntity='true'>
			<Field name='_Chosen_Id' type='int' cached='true'/>
			<Field name='_Chosen_Name' type='string' cached='true'/>
			<Field name='_Chosen_Hobby' type='string' cached='true'/>
		</Tuple>
		<Tuple class='EtPath' isEntity='true'>
			<Field name='_Path_Id' type='int' cached='true'/>
			<Field name='_Path_Name' type='string' cached='true'/>
		</Tuple>
		<Tuple class='EtLastSeat' isEntity='true'>
			<Field name='_LastSeat_Seat' type='int' cached='true'/>
		</Tuple>
		<Tuple class='EtContext' isEntity='true'>
			<Field name='_ContextState' type='string' cached='true'/>
		</Tuple>
		<Tuple class='EtSeating' isEntity='true'>
			<Field name='_SeatingPathDone' type='string' cached='true'/>
			<Field name='_Seating_Seat2' type='int' cached='true'/>
		</Tuple>
		<Tuple class='JoinRoot1'>
			<Field name='Guest_Name' type='string' />
			<Field name='CountC' type='int' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='JoinRoot2'>
			<Field name='Seating_Id' type='int' />
			<Field name='Seating_Name2' type='string' />
			<Field name='Seating_Seat2' type='int' />
			<Field name='Guest1_Sex' type='string' />
			<Field name='Guest1_Hobby' type='string' />
			<Field name='Guest2_Name' type='string' />
			<Field name='CountC' type='int' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='JoinRoot3'>
			<Field name='Seating_Id' type='int' />
			<Field name='Seating_Pid' type='int' />
			<Field name='Path_Name' type='string' />
			<Field name='Path_Seat' type='int' />
			<Field name='SeatingPathDone' type='string' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='JoinRoot4'>
			<Field name='Seating_Seat2' type='int' />
			<Field name='LastSeat_Seat' type='int' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='JoinRoot5'>
			<Field name='Seating_Id' type='int' />
			<Field name='Seating_Seat2' type='int' />
			<Field name='Path_Name' type='string' />
			<Field name='Path_Seat' type='int' />
		</Tuple>
		<Tuple class='J1' extends='JoinRoot1'>
		</Tuple>
		<Tuple class='J3' extends='JoinRoot2'>
		</Tuple>
		<Tuple class='J4' extends='JoinRoot2'>
		</Tuple>
		<Tuple class='J5' extends='JoinRoot2'>
		</Tuple>
		<Tuple class='J6' extends='JoinRoot2'>
		</Tuple>
		<Tuple class='J7' extends='JoinRoot3'>
		</Tuple>
		<Tuple class='J8' extends='JoinRoot3'>
		</Tuple>
		<Tuple class='J9' extends='JoinRoot4'>
		</Tuple>
		<Tuple class='J11' extends='JoinRoot5'>
		</Tuple>
		<Tuple class='J12' extends='JoinRoot5'>
		</Tuple>
		<Tuple class='AssignFirstSeat' extends='JoinRoot1' isProduction='true'>
			<Production name='Assign First Seat' salience='0' specificity='1' position='1' />
			<Field name='CountC' type='int' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='FindSeating' extends='JoinRoot2' isProduction='true'>
			<Production name='Find Seating' salience='0' specificity='7' position='2' />
			<Field name='CountC' type='int' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='MakePath' extends='JoinRoot3' isProduction='true'>
			<Production name='Make Path' salience='1' specificity='4' position='3' />
		</Tuple>
		<Tuple class='PathDone' extends='JoinRoot3' isProduction='true'>
			<Production name='Path Done' salience='0' specificity='2' position='4' />
			<Field name='SeatingPathDone' type='string' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='AreWeDone' extends='JoinRoot4' isProduction='true'>
			<Production name='Are We Done' salience='1' specificity='1' position='5' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='Continue' extends='JoinRoot4' isProduction='true'>
			<Production name='Continue' salience='0' specificity='1' position='6' />
			<Field name='ContextState' type='string' />
		</Tuple>
		<Tuple class='PrintResults' extends='JoinRoot5' isProduction='true'>
			<Production name='Print Results' salience='1' specificity='1' position='7' />
		</Tuple>
		<Tuple class='AllDone' extends='JoinRoot5' isProduction='true'>
			<Production name='All Done' salience='0' specificity='1' position='8' />
			<Field name='ContextState' type='string' />
		</Tuple>
	</Tuples>
	<!-- Storage -->
	<Memories>
		<Memory ref='1'>
		</Memory>
		<Memory ref='_bsg_Count' tupleClass='EtCount' >
		</Memory>
		<Memory ref='_bsg_Guest' tupleClass='EtGuest' >
		</Memory>
		<Memory ref='_bsg_Chosen' tupleClass='EtChosen' >
		</Memory>
		<Memory ref='_bsg_Path' tupleClass='EtPath' >
		</Memory>
		<Memory ref='_bsg_LastSeat' tupleClass='EtLastSeat' >
		</Memory>
		<Memory ref='_bsg_Context_start' tupleClass='EtContext' >
		</Memory>
		<Memory ref='_bsg_Context_assign_seats' tupleClass='EtContext' >
		</Memory>
		<Memory ref='_bsg_Context_make_path' tupleClass='EtContext' >
		</Memory>
		<Memory ref='_bsg_Context_check_done' tupleClass='EtContext' >
		</Memory>
		<Memory ref='_bsg_Context_print_results' tupleClass='EtContext' >
		</Memory>
		<Memory ref='_bsg_Seating' tupleClass='EtSeating' >
		</Memory>
		<Memory ref='_bsg_Seating_yes' tupleClass='EtSeating' >
		</Memory>
		<Memory ref='_bsg_Seating_no' tupleClass='EtSeating' >
		</Memory>
		<Memory ref='_bsg_J1' tupleClass='J1' >
		</Memory>
		<Memory ref='_bsg_J3' tupleClass='J3' >
		</Memory>
		<Memory ref='_bsg_J4' tupleClass='J4' >
		</Memory>
		<Memory ref='_bsg_J5' tupleClass='J5' >
		</Memory>
		<Memory ref='_bsg_J6' tupleClass='J6' >
		</Memory>
		<Memory ref='_bsg_J7' tupleClass='J7' >
		</Memory>
		<Memory ref='_bsg_J8' tupleClass='J8' >
		</Memory>
		<Memory ref='_bsg_J9' tupleClass='J9' >
		</Memory>
		<Memory ref='_bsg_J11' tupleClass='J11' >
		</Memory>
		<Memory ref='_bsg_J12' tupleClass='J12' >
		</Memory>
		<Memory ref='_bsg_N1' tupleClass='J6' >
		</Memory>
		<Memory ref='_bsg_N2' tupleClass='J6' >
		</Memory>
		<Memory ref='_bsg_N3' tupleClass='J8' >
		</Memory>
	</Memories>
	<!-- Functions -->
	<Functions>
		<Function ref='_join1aFunc' type='Join'>
		</Function>
		<Function ref='_join1bFunc' type='Join'>
		</Function>
		<Function ref='_join2aFunc' type='Join'>
		</Function>
		<Function ref='_join2bFunc' type='Join'>
		</Function>
		<Function ref='_join3aFunc' type='Join'>
		</Function>
		<Function ref='_join3bFunc' type='Join'>
		</Function>
		<Function ref='_join4aFunc' type='Join'>
		</Function>
		<Function ref='_join4bFunc' type='Join'>
		</Function>
		<Function ref='_join5aFunc' type='Join'>
		</Function>
		<Function ref='_join5bFunc' type='Join'>
		</Function>
		<Function ref='_join6aFunc' type='Join'>
		</Function>
		<Function ref='_join6bFunc' type='Join'>
		</Function>
		<Function ref='_join7aFunc' type='Join'>
		</Function>
		<Function ref='_join7bFunc' type='Join'>
		</Function>
		<Function ref='_join8aFunc' type='Join'>
		</Function>
		<Function ref='_join8bFunc' type='Join'>
		</Function>
		<Function ref='_join9aFunc' type='Join'>
		</Function>
		<Function ref='_join9bFunc' type='Join'>
		</Function>
		<Function ref='_join10aFunc' type='Join'>
		</Function>
		<Function ref='_join10bFunc' type='Join'>
		</Function>
		<Function ref='_join11aFunc' type='Join'>
		</Function>
		<Function ref='_join11bFunc' type='Join'>
		</Function>
		<Function ref='_join12aFunc' type='Join'>
		</Function>
		<Function ref='_join12bFunc' type='Join'>
		</Function>
		<Function ref='_join13aFunc' type='Join'>
		</Function>
		<Function ref='_join13bFunc' type='Join'>
		</Function>
		<Function ref='_not1aFunc' type='Not'>
		</Function>
		<Function ref='_not1bFunc' type='Not'>
		</Function>
		<Function ref='_not2aFunc' type='Not'>
		</Function>
		<Function ref='_not2bFunc' type='Not'>
		</Function>
		<Function ref='_not3aFunc' type='Not'>
		</Function>
		<Function ref='_not3bFunc' type='Not'>
		</Function>
		<Function ref='_contextStateFunc' type='Select'>
		</Function>
		<Function ref='_seatingPathDoneFunc' type='Select'>
		</Function>
		<Function ref='_t1AssignFirstSeatFunc' type='Terminal'>
		</Function>
		<Function ref='_t2FindSeatingFunc' type='Terminal'>
		</Function>
		<Function ref='_t3MakePathFunc' type='Terminal'>
		</Function>
		<Function ref='_t4PathDoneFunc' type='Terminal'>
		</Function>
		<Function ref='_t5AreWeDoneFunc' type='Terminal'>
		</Function>
		<Function ref='_t6ContinueFunc' type='Terminal'>
		</Function>
		<Function ref='_t7PrintResultsFunc' type='Terminal'>
		</Function>
		<Function ref='_t8AllDoneFunc' type='Terminal'>
		</Function>
	</Functions>
</CRIL>
